#pragma once
#include <QObject>

#include "RsgisPortal.h"

#include "RsGisLibEleSlope.h"
#include "RsGisLibEleAspect.h"
#include "RsGisLibEleCataAspect.h"
#include "RsGisLibEleHillShade.h"
#include "RsGisLibEleShadowMask.h"
#include "RsGisLibEleLocInciAngle.h"
#include "RsGisLibEleLocExisAngle.h"
#include "RsGisLibEleDTMAspeMediFilter.h"
#include "RsGisLibEleFillDEMSoiGra1994.h"

class RsGisLibCMDElevation : public QObject
{
	Q_OBJECT
public:
	RsGisLibCMDElevation(RsgisPortal* Port);
	~RsGisLibCMDElevation();
	RsgisPortal* ClientPort;

public:
	RsGisLibEleSlope* rsgisEleSlope;
	RsGisLibEleAspect* rsgisEleAspect;
	RsGisLibEleCataAspect* rsgisEleCataAspect;
	RsGisLibEleHillShade* rsgisEleHillShade;
	RsGisLibEleShadowMask* rsgisEleShadowMask;
	RsGisLibEleLocInciAngle* rsgisEleLocInciAngle;
	RsGisLibEleLocExisAngle* rsgisEleLocExisAngle;
	RsGisLibEleDTMAspeMediFilter* rsgisEleDTMAspeMediFilter;
	RsGisLibEleFillDEMSoiGra1994* rsgisEleFillDEMSoiGra1994;

public slots:
	void EleSlope();
	void EleAspect();
	void EleCataAspect();
	void EleHillShade();
	void EleShadowMask();
	void EleLocInciAngle();
	void EleLocExisAngle();
	void EleDTMAspeMediFilter();
	void EleFillDEMSoiGra1994();
};
